package cn.sportvip.entity.sport;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.index.GeoSpatialIndexType;
import org.springframework.data.mongodb.core.index.GeoSpatialIndexed;
import org.springframework.data.mongodb.core.mapping.Document;

import cn.sportvip.Sport.AGE;
import cn.sportvip.dto.sport.CoachHonor;

import com.alibaba.fastjson.annotation.JSONField;

/***
 * 教练基本信息
 * 
 * @author tao
 */
@Document
public class CoachBasic {

	@Id
	@JSONField(name = "id")
	private int coachId;
	private String name;
	private String avatar;
	private int age;
	@GeoSpatialIndexed(type = GeoSpatialIndexType.GEO_2DSPHERE, name = "cb_loc_2dsphere")
	private double[] location;
	private int zan;
	private List<Tag> tags = new ArrayList<>(0);
	private String certificate;
	@Transient
	private double distance;
	private String address;
	private double minPrice;
	private String[] phones;
	private List<CoachHonor> honors;
	/**所教课程适合那些年龄段*/
	private Set<AGE> ageRange = new HashSet<>(0);
	/**教了那些项目,添加课程时候添加项目*/
	private Set<Event> events = new HashSet<>(0);
	private boolean hasCourses = false;

	public int getCoachId() {
		return coachId;
	}

	public void setCoachId(int coachId) {
		this.coachId = coachId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAvatar() {
		return avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public double[] getLocation() {
		return location;
	}

	public void setLocation(double[] location) {
		this.location = location;
	}

	public int getZan() {
		return zan;
	}

	public void setZan(int zan) {
		this.zan = zan;
	}

	public List<Tag> getTags() {
		return tags;
	}

	public void setTags(List<Tag> tags) {
		this.tags = tags;
	}
	
	public double getDistance() {
		return distance;
	}

	public void setDistance(double distance) {
		this.distance = distance;
	}

	public String getCertificate() {
		return certificate;
	}

	public void setCertificate(String certificate) {
		this.certificate = certificate;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public double getMinPrice() {
		return minPrice;
	}

	public void setMinPrice(double minPrice) {
		this.minPrice = minPrice;
	}

	public String[] getPhones() {
		return phones;
	}

	public void setPhones(String[] phones) {
		this.phones = phones;
	}

	public List<CoachHonor> getHonors() {
		return honors;
	}

	public void setHonors(List<CoachHonor> honors) {
		this.honors = honors;
	}

	public Set<AGE> getAgeRange() {
		return ageRange;
	}

	public void setAgeRange(Set<AGE> ageRange) {
		this.ageRange = ageRange;
	}

	public Set<Event> getEvents() {
		return events;
	}

	public void setEvents(Set<Event> events) {
		this.events = events;
	}

	public boolean isHasCourses() {
		return hasCourses;
	}

	public void setHasCourses(boolean hasCourses) {
		this.hasCourses = hasCourses;
	}
}
